package com.bmf.admin.module.scenario.entity;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;


/**
 * 想定特情(ScenarioIncident)表实体类
 *
 * @author aries
 * @since 2024-07-31 11:54:30
 */
@Data
@TableName("scenario_incident")
public class ScenarioIncident extends BaseAuditable implements Serializable {

    @Schema(description = "想定id")
    private String scenarioId;

    @Schema(description = "特情id")
    private String forcesId;

    @Schema(description = "发生时刻（距离想定开始后多少分钟），时间触发时使用此字段")
    private Integer startTime;

    @Schema(description = "持续时长（分钟）")
    private Integer duration;

    @Schema(description = "触发方式（0/1/2：时间触发/事件触发/随机触发）")
    private Integer triggerMode;

    @Schema(description = "随机触发概率")
    private Double randomTriggerRate;

    @Schema(description = "路线id")
    private String routeId;

    @Schema(description = "开始经度")
    private Double startLongitude;

    @Schema(description = "开始纬度")
    private Double startLatitude;

    @Schema(description = "结束经度")
    private Double endLongitude;

    @Schema(description = "结束纬度")
    private Double endLatitude;

    public void updateScenarioIdAndForcesId(String scenarioId, String forcesId) {
        this.scenarioId = scenarioId;
        this.forcesId = forcesId;
    }

    @TableField(exist = false)
    @Schema(description = "火箭载荷列表")
    private List<ScenarioSatellite> satelliteList;
}

